package com.skyline.jfs.cluster.service.impl;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.skyline.jfs.cluster.dao.JFSNodeDao;
import com.skyline.jfs.cluster.model.JFSNode;
import com.skyline.jfs.cluster.model.JFSNodeConfigProper;
import com.skyline.jfs.cluster.service.JFSNodeService;


@Service("jfsNodeService")
public class JFSNodeServiceImpl implements JFSNodeService {
	
	@Autowired 
	private JFSNodeDao jfsNodeDao;
	
	public void configThisNode(
			String hostname, String ip, Long adminJobNum,
			Integer loadbalacingFactor,
			String storageDirectory, String description){
		JFSNodeConfigProper.setAdminJobNum(adminJobNum);
		JFSNodeConfigProper.setDescription(description);
		JFSNodeConfigProper.setHostname(hostname);
		JFSNodeConfigProper.setIpAddress(ip);
		JFSNodeConfigProper.setLoadbalacingFactor(loadbalacingFactor);
		JFSNodeConfigProper.setStorageDirectory(storageDirectory);
		if(JFSNodeConfigProper.getRegisted()==false)
		{
			jfsNodeDao.insertJFSNode();
			JFSNodeConfigProper.setRegisted(true);
		}else{
			jfsNodeDao.updateLocalJFSNode();
		}
	}
	
	public JFSNode getJFSNodeByID(Integer id){
		return jfsNodeDao.queryJFSNodeByID(id);
	}
	
	public void  updateHeartBeat(){
		jfsNodeDao.updateHeartBeat();
	}
}
